<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>OpenRF: Radio API</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenRF
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Radio API</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga83570a4b11c585a7bb6c9dc3d62266b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83570a4b11c585a7bb6c9dc3d62266b1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAXTIMERS</b>&#160;&#160;&#160;16</td></tr>
<tr class="separator:ga83570a4b11c585a7bb6c9dc3d62266b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23b493efe4377e0a1acb004bc5221271"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga23b493efe4377e0a1acb004bc5221271"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinCRCOK</b>&#160;&#160;&#160;pinRadioDIO0</td></tr>
<tr class="separator:ga23b493efe4377e0a1acb004bc5221271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95f14f13241bd48a2df1821151b45354"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga95f14f13241bd48a2df1821151b45354"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinPKTSENT</b>&#160;&#160;&#160;pinRadioDIO0</td></tr>
<tr class="separator:ga95f14f13241bd48a2df1821151b45354"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29aeb9c08c4ba6bc3aa57bfd63b9f198"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga29aeb9c08c4ba6bc3aa57bfd63b9f198"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinLOCKPLL</b>&#160;&#160;&#160;pinRadioDIO1</td></tr>
<tr class="separator:ga29aeb9c08c4ba6bc3aa57bfd63b9f198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9966b6e28e16a618d6c115eb71d2b903"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9966b6e28e16a618d6c115eb71d2b903"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinTIMEOUT</b>&#160;&#160;&#160;pinRadioDIO1</td></tr>
<tr class="separator:ga9966b6e28e16a618d6c115eb71d2b903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6c389b149fb00a1044b8e3fa6974821"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab6c389b149fb00a1044b8e3fa6974821"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinFIFONE</b>&#160;&#160;&#160;pinRadioDIO2</td></tr>
<tr class="separator:gab6c389b149fb00a1044b8e3fa6974821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f7c626b50ca77558653004232d43b26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9f7c626b50ca77558653004232d43b26"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinSYNCADDR</b>&#160;&#160;&#160;pinRadioDIO3</td></tr>
<tr class="separator:ga9f7c626b50ca77558653004232d43b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa388cfae8ff744e7c3831ab5b52f21ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa388cfae8ff744e7c3831ab5b52f21ef"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinTXRDY</b>&#160;&#160;&#160;pinRadioDIO4</td></tr>
<tr class="separator:gaa388cfae8ff744e7c3831ab5b52f21ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga053480a6f0d8553cb2cdfbf6ed461f72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga053480a6f0d8553cb2cdfbf6ed461f72"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinRSSI</b>&#160;&#160;&#160;pinRadioDIO4</td></tr>
<tr class="separator:ga053480a6f0d8553cb2cdfbf6ed461f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11806c45ac576b3195894786dc8778d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga11806c45ac576b3195894786dc8778d2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>pinMODERDY</b>&#160;&#160;&#160;pinRadioDIO5</td></tr>
<tr class="separator:ga11806c45ac576b3195894786dc8778d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c4fad3c3cafacb96e0d327453dfe8f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7c4fad3c3cafacb96e0d327453dfe8f4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>kModeChangeTimeout</b>&#160;&#160;&#160;8192</td></tr>
<tr class="separator:ga7c4fad3c3cafacb96e0d327453dfe8f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gab052d5383278bb9c85dfa81415963c2e"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group___radio.html#gaba81c4c5fad7e2e0cef01f8e6c710ecb">tPacketTypes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gab052d5383278bb9c85dfa81415963c2e">tPacketTypes</a></td></tr>
<tr class="separator:gab052d5383278bb9c85dfa81415963c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga945845313759fe0d15f35cbfd8515035"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga945845313759fe0d15f35cbfd8515035">tBlockingModes</a> { <a class="el" href="group___radio.html#gga945845313759fe0d15f35cbfd8515035a5123581351e4a39f5fbc3c9cc68f1fcc">kBlockingCall</a>, 
<a class="el" href="group___radio.html#gga945845313759fe0d15f35cbfd8515035aea7cc667325b8106d6119f0d2bfbb400">kEventDriven</a>
 }</td></tr>
<tr class="separator:ga945845313759fe0d15f35cbfd8515035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2b6877d3d2c1164d3373dc9b98cab84"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gad2b6877d3d2c1164d3373dc9b98cab84">tRadioStates</a> { <br />
&#160;&#160;<a class="el" href="group___radio.html#ggad2b6877d3d2c1164d3373dc9b98cab84a5271b78d0e7e16099e5569ac198b6d4c">kTxMode</a> = 0, 
<a class="el" href="group___radio.html#ggad2b6877d3d2c1164d3373dc9b98cab84a10fa59809c02d95ab838667349b2d5f6">kIdleRxMode</a>, 
<a class="el" href="group___radio.html#ggad2b6877d3d2c1164d3373dc9b98cab84a5f73ccc433cbdf965d516c55c5a5c4ef">kRxMode</a>, 
<a class="el" href="group___radio.html#ggad2b6877d3d2c1164d3373dc9b98cab84a635358a3f25c30feb113eb976975a947">kRxAckMode</a>, 
<br />
&#160;&#160;<a class="el" href="group___radio.html#ggad2b6877d3d2c1164d3373dc9b98cab84a8ac217adac9fd5fbd2fb77b836ecd5cb">kHopMode</a>
<br />
 }</td></tr>
<tr class="separator:gad2b6877d3d2c1164d3373dc9b98cab84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaceb4f15c2a65dde634322d4ab88c88ff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gaceb4f15c2a65dde634322d4ab88c88ff">tReceiveModes</a> { <br />
&#160;&#160;<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffae25fdfdc1135323ecbbf06cfe915300b">kBlockingCADSingle</a>, 
<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffa895153fe51e5fdf95fb5509688644156">kBlockingNoCADSingle</a>, 
<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffafc4c3ebc9dfc26a5e2c688e4e9fc7b1f">kEventingCADSingle</a>, 
<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffa979d4f5048b35587debcc183f17366ca">kEventingNoCADSingle</a>, 
<br />
&#160;&#160;<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffa8e3b248850c56360a4266b27a9f52a64">kEventingCADContinuous</a>, 
<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffa048926df548330a0444e066e22cd11d3">kEventingNoCADContinuous</a>, 
<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffa53189c968544340ca574c404ac15a32d">kBlockingCADContinuous</a>, 
<a class="el" href="group___radio.html#ggaceb4f15c2a65dde634322d4ab88c88ffa54e88f2b4c684f27bbde2795a0fb6635">kBlockingNoCADContinuous</a>
<br />
 }</td></tr>
<tr class="separator:gaceb4f15c2a65dde634322d4ab88c88ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba81c4c5fad7e2e0cef01f8e6c710ecb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gaba81c4c5fad7e2e0cef01f8e6c710ecb">tPacketTypes</a> { <br />
&#160;&#160;<a class="el" href="group___radio.html#ggaba81c4c5fad7e2e0cef01f8e6c710ecba4922fb6e7e9afad53b744dd08c081d73">kUniAckPacketType</a> = 0, 
<a class="el" href="group___radio.html#ggaba81c4c5fad7e2e0cef01f8e6c710ecbac93d1cbeb77687dac97e78c66f7e77df">kUniNoAckPacketType</a>, 
<a class="el" href="group___radio.html#ggaba81c4c5fad7e2e0cef01f8e6c710ecba6b13460f514dd1571e5e6e3ddec21b2b">kMulticastPacketType</a>, 
<a class="el" href="group___radio.html#ggaba81c4c5fad7e2e0cef01f8e6c710ecba54dde0b38f2409696a79c860f66a8cbd">kAckPacketType</a>, 
<br />
&#160;&#160;<a class="el" href="group___radio.html#ggaba81c4c5fad7e2e0cef01f8e6c710ecba5de47d476cbbea835df2253d741c90f1">kSyncPacketType</a>, 
<b>kNone</b>
<br />
 }</td></tr>
<tr class="separator:gaba81c4c5fad7e2e0cef01f8e6c710ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc6126af1d45847bc59afa0aa3216b04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabc6126af1d45847bc59afa0aa3216b04"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<b>kInterruptP0</b>, 
<b>kInterruptP1</b>, 
<b>kInterruptP2</b>, 
<b>kInterruptP3</b>, 
<br />
&#160;&#160;<b>kInterruptP4</b>, 
<b>kInterruptP5</b>, 
<b>kInterruptK0</b> = 0x80, 
<b>kInterruptK1</b>, 
<br />
&#160;&#160;<b>kInterruptK2</b>, 
<b>kInterruptK3</b>
<br />
 }</td></tr>
<tr class="separator:gabc6126af1d45847bc59afa0aa3216b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadc29c2ff13d900c2f185ee95427fb06c"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<b>flagRadioModeReady</b> = 0x80, 
<b>flagReceiverReady</b> = 0x40, 
<b>flagTransmitterReady</b> = 0x20, 
<b>flagPllLock</b> = 0x10, 
<br />
&#160;&#160;<b>flagRssiThreshold</b> = 0x08, 
<b>flagReceiverTimeout</b> = 0x04, 
<b>flagIntermediateMode</b> = 0x02, 
<b>flagSyncMatch</b> = 0x01, 
<br />
&#160;&#160;<b>flagFifoFull</b> = 0x80, 
<b>flagFifoNotEmpty</b> = 0x40, 
<b>flagFifoLevel</b> = 0x20, 
<b>flagFifoOverrun</b> = 0x10, 
<br />
&#160;&#160;<b>flagPacketSent</b> = 0x08, 
<b>flagPayloadReady</b> = 0x04, 
<b>flagCRCGood</b> = 0x02
<br />
 }</td></tr>
<tr class="separator:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7388600f063db50b675fae0560b237e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab7388600f063db50b675fae0560b237e"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>tOperatingModes</b> { <br />
&#160;&#160;<b>kSleepMode</b> = 0x00, 
<b>kStandbyMode</b> = 0x01, 
<b>kFSTXMode</b> = 0x02, 
<b>kTransmitMode</b> = 0x03, 
<br />
&#160;&#160;<b>kFSRXMode</b> = 0x04, 
<b>kRxContinuousMode</b> = 0x05, 
<b>kRxSingleMode</b> = 0x06, 
<b>kCADMode</b> = 0x07, 
<br />
&#160;&#160;<b>kLoraMode</b> = 0x80, 
<b>kSharedRegMode</b> = 0x40
<br />
 }</td></tr>
<tr class="separator:gab7388600f063db50b675fae0560b237e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gada51b7416b36ed55512105efb34d1bea"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gada51b7416b36ed55512105efb34d1bea">RadioSendPacket</a> (U8 length, U8 *SDU, <a class="el" href="group___radio.html#ga945845313759fe0d15f35cbfd8515035">tBlockingModes</a> blocking)</td></tr>
<tr class="separator:gada51b7416b36ed55512105efb34d1bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab65f9e7c01642c4deeb8e839381c956d"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gab65f9e7c01642c4deeb8e839381c956d">RadioSetReceiveTimeout</a> (U16 to)</td></tr>
<tr class="separator:gab65f9e7c01642c4deeb8e839381c956d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae8f24d92ca38d72307c5f857af9fee6d"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gae8f24d92ca38d72307c5f857af9fee6d">RadioReceivePacket</a> (<a class="el" href="group___radio.html#gaceb4f15c2a65dde634322d4ab88c88ff">tReceiveModes</a> rxMode)</td></tr>
<tr class="separator:gae8f24d92ca38d72307c5f857af9fee6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3dd1eaefbdde2874179895a4f4200f0"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gad3dd1eaefbdde2874179895a4f4200f0">RadioInitializeAPI</a> ()</td></tr>
<tr class="separator:gad3dd1eaefbdde2874179895a4f4200f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00b6c7fb9acc725209a04400aa395fa5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga00b6c7fb9acc725209a04400aa395fa5">RadioSetPreambleCount</a> (<a class="el" href="union_u_u16.html">UU16</a> preambleCount)</td></tr>
<tr class="separator:ga00b6c7fb9acc725209a04400aa395fa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53680096cfcc3128f0bc9b9ddb89c98a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga53680096cfcc3128f0bc9b9ddb89c98a">RadioStandbyMode</a> ()</td></tr>
<tr class="separator:ga53680096cfcc3128f0bc9b9ddb89c98a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga848e924057f1ddb37b07c9daafea328a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga848e924057f1ddb37b07c9daafea328a">RadioSleepMode</a> ()</td></tr>
<tr class="separator:ga848e924057f1ddb37b07c9daafea328a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4433194a2153ba9e045a08309a979f00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga4433194a2153ba9e045a08309a979f00">RadioSetChannel</a> (U8 channel)</td></tr>
<tr class="separator:ga4433194a2153ba9e045a08309a979f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fab90d6a25b4a983841e4f7e824b611"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga6fab90d6a25b4a983841e4f7e824b611">RadioSetTxPower</a> (U8 power)</td></tr>
<tr class="separator:ga6fab90d6a25b4a983841e4f7e824b611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec325e472163bf4bca0a326fe1e80f3a"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gaec325e472163bf4bca0a326fe1e80f3a">RadioGetRSSI</a> ()</td></tr>
<tr class="separator:gaec325e472163bf4bca0a326fe1e80f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b41bb4532d675a925bfcc0633278442"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga8b41bb4532d675a925bfcc0633278442">RadioGetSNR</a> ()</td></tr>
<tr class="separator:ga8b41bb4532d675a925bfcc0633278442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0a55b913ef5ba1c8cadadbc38d3a186"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#gae0a55b913ef5ba1c8cadadbc38d3a186">RadioSetMACAddress</a> (<a class="el" href="union_u_u32.html">UU32</a> macAddress)</td></tr>
<tr class="separator:gae0a55b913ef5ba1c8cadadbc38d3a186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ecb4d5fc99e0aa4759df45f256dd21e"><td class="memItemLeft" align="right" valign="top">S8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga6ecb4d5fc99e0aa4759df45f256dd21e">RadioGetTemperature</a> ()</td></tr>
<tr class="separator:ga6ecb4d5fc99e0aa4759df45f256dd21e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga853709970105be35c22d8ef04abce732"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga853709970105be35c22d8ef04abce732">RadioSetEncryptionKey</a> (<a class="el" href="union_u_u256.html">UU256</a> key)</td></tr>
<tr class="separator:ga853709970105be35c22d8ef04abce732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05f6d5c2567a0531571b2fcedef01ae8"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga05f6d5c2567a0531571b2fcedef01ae8">RadioGetRadioState</a> ()</td></tr>
<tr class="separator:ga05f6d5c2567a0531571b2fcedef01ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga340fcd276a307d3ae5e464d89df2f369"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga340fcd276a307d3ae5e464d89df2f369">RadioGetRFICFlags</a> ()</td></tr>
<tr class="separator:ga340fcd276a307d3ae5e464d89df2f369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga894d6125070db6c02601f48dce6b580d"><td class="memItemLeft" align="right" valign="top">U8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___radio.html#ga894d6125070db6c02601f48dce6b580d">RadioIsIdle</a> ()</td></tr>
<tr class="separator:ga894d6125070db6c02601f48dce6b580d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11cda0662b27e7ff0e3b280813bc1cfc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga11cda0662b27e7ff0e3b280813bc1cfc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NotifyRadioPacketReceived</b> (U8 length, U8 *txBuffer, U8 rssi)</td></tr>
<tr class="separator:ga11cda0662b27e7ff0e3b280813bc1cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3524c22460208ccd87ae569834e65a9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3524c22460208ccd87ae569834e65a9f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NotifyRadioPacketSent</b> ()</td></tr>
<tr class="separator:ga3524c22460208ccd87ae569834e65a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd41a5d28c7a4366680051cbd73b8a24"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabd41a5d28c7a4366680051cbd73b8a24"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NotifyRadioPacketSendError</b> ()</td></tr>
<tr class="separator:gabd41a5d28c7a4366680051cbd73b8a24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b5bb20732b337bdccb447371bc77978"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0b5bb20732b337bdccb447371bc77978"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NotifyRadioReceiveError</b> ()</td></tr>
<tr class="separator:ga0b5bb20732b337bdccb447371bc77978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga935c2471af95c0478895cba88152fc70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga935c2471af95c0478895cba88152fc70"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NotifyRadio1Second</b> ()</td></tr>
<tr class="separator:ga935c2471af95c0478895cba88152fc70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91af3bb4aa17bb8aa36e046e09d1d199"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga91af3bb4aa17bb8aa36e046e09d1d199"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NotifyRadio1MilliSecond</b> ()</td></tr>
<tr class="separator:ga91af3bb4aa17bb8aa36e046e09d1d199"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ea5784fa1509bc7c0a3385fcd6f0f94"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7ea5784fa1509bc7c0a3385fcd6f0f94"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>HandleInterrupt</b> (U8 intType)</td></tr>
<tr class="separator:ga7ea5784fa1509bc7c0a3385fcd6f0f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82d84aa3e2667b68c4ea90537a4b4bc9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga82d84aa3e2667b68c4ea90537a4b4bc9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Handle1MsInterrupt</b> ()</td></tr>
<tr class="separator:ga82d84aa3e2667b68c4ea90537a4b4bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3769f8e2a0cb5dc2e68c5582d259336"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac3769f8e2a0cb5dc2e68c5582d259336"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Handle1SecInterrupt</b> ()</td></tr>
<tr class="separator:gac3769f8e2a0cb5dc2e68c5582d259336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcd0bc55a3f163cfca85663dc0a9b7b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafcd0bc55a3f163cfca85663dc0a9b7b1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>HandleRxPacket</b> ()</td></tr>
<tr class="separator:gafcd0bc55a3f163cfca85663dc0a9b7b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This is the radio API for the SX1272H radio. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gab052d5383278bb9c85dfa81415963c2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="group___radio.html#gaba81c4c5fad7e2e0cef01f8e6c710ecb">tPacketTypes</a>  <a class="el" href="group___radio.html#gaba81c4c5fad7e2e0cef01f8e6c710ecb">tPacketTypes</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Defines all of the different packet types that are available </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga945845313759fe0d15f35cbfd8515035"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___radio.html#ga945845313759fe0d15f35cbfd8515035">tBlockingModes</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enumerates blocking modes </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga945845313759fe0d15f35cbfd8515035a5123581351e4a39f5fbc3c9cc68f1fcc"></a>kBlockingCall&#160;</td><td class="fielddoc">
<p>Blocking call. Will complete before returning </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga945845313759fe0d15f35cbfd8515035aea7cc667325b8106d6119f0d2bfbb400"></a>kEventDriven&#160;</td><td class="fielddoc">
<p>Event driven call. Will return immediately </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaba81c4c5fad7e2e0cef01f8e6c710ecb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___radio.html#gaba81c4c5fad7e2e0cef01f8e6c710ecb">tPacketTypes</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Defines all of the different packet types that are available </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaba81c4c5fad7e2e0cef01f8e6c710ecba4922fb6e7e9afad53b744dd08c081d73"></a>kUniAckPacketType&#160;</td><td class="fielddoc">
<p>Unicast packet (point to point) with acknowledgment </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaba81c4c5fad7e2e0cef01f8e6c710ecbac93d1cbeb77687dac97e78c66f7e77df"></a>kUniNoAckPacketType&#160;</td><td class="fielddoc">
<p>Unicast packet(point to point) without acknowledgment </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaba81c4c5fad7e2e0cef01f8e6c710ecba6b13460f514dd1571e5e6e3ddec21b2b"></a>kMulticastPacketType&#160;</td><td class="fielddoc">
<p>Multicast packet. This is a broadcast packet to everyone on the network </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaba81c4c5fad7e2e0cef01f8e6c710ecba54dde0b38f2409696a79c860f66a8cbd"></a>kAckPacketType&#160;</td><td class="fielddoc">
<p>Acknowledgment packet. This is sent in response to a UNIACK packet </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaba81c4c5fad7e2e0cef01f8e6c710ecba5de47d476cbbea835df2253d741c90f1"></a>kSyncPacketType&#160;</td><td class="fielddoc">
<p>Sync packet. This is used to periodically sync a master and 1+ slaves </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gad2b6877d3d2c1164d3373dc9b98cab84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___radio.html#gad2b6877d3d2c1164d3373dc9b98cab84">tRadioStates</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Defines all of the different states that the radio can be in. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggad2b6877d3d2c1164d3373dc9b98cab84a5271b78d0e7e16099e5569ac198b6d4c"></a>kTxMode&#160;</td><td class="fielddoc">
<p>Transmitting </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad2b6877d3d2c1164d3373dc9b98cab84a10fa59809c02d95ab838667349b2d5f6"></a>kIdleRxMode&#160;</td><td class="fielddoc">
<p>Listening for incoming packet </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad2b6877d3d2c1164d3373dc9b98cab84a5f73ccc433cbdf965d516c55c5a5c4ef"></a>kRxMode&#160;</td><td class="fielddoc">
<p>Receiving incoming packet </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad2b6877d3d2c1164d3373dc9b98cab84a635358a3f25c30feb113eb976975a947"></a>kRxAckMode&#160;</td><td class="fielddoc">
<p>Receiving an acknowledgment </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad2b6877d3d2c1164d3373dc9b98cab84a8ac217adac9fd5fbd2fb77b836ecd5cb"></a>kHopMode&#160;</td><td class="fielddoc">
<p>Hopping in progress </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaceb4f15c2a65dde634322d4ab88c88ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___radio.html#gaceb4f15c2a65dde634322d4ab88c88ff">tReceiveModes</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enumerates receiver modes </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffae25fdfdc1135323ecbbf06cfe915300b"></a>kBlockingCADSingle&#160;</td><td class="fielddoc">
<p>Single Packet with CAD - Blocking Call </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffa895153fe51e5fdf95fb5509688644156"></a>kBlockingNoCADSingle&#160;</td><td class="fielddoc">
<p>Single packet without CAD - Blocking Call </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffafc4c3ebc9dfc26a5e2c688e4e9fc7b1f"></a>kEventingCADSingle&#160;</td><td class="fielddoc">
<p>Single Packet with CAD - Event driven </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffa979d4f5048b35587debcc183f17366ca"></a>kEventingNoCADSingle&#160;</td><td class="fielddoc">
<p>Single packet without CAD - Event driven </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffa8e3b248850c56360a4266b27a9f52a64"></a>kEventingCADContinuous&#160;</td><td class="fielddoc">
<p>Continuous packets with CAD - Event driven </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffa048926df548330a0444e066e22cd11d3"></a>kEventingNoCADContinuous&#160;</td><td class="fielddoc">
<p>Continuous packets without CAD - Event driven </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffa53189c968544340ca574c404ac15a32d"></a>kBlockingCADContinuous&#160;</td><td class="fielddoc">
<p>Continuous packets with CAD - Blocking Call </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaceb4f15c2a65dde634322d4ab88c88ffa54e88f2b4c684f27bbde2795a0fb6635"></a>kBlockingNoCADContinuous&#160;</td><td class="fielddoc">
<p>Continuous packets without CAD - Blocking Call </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga05f6d5c2567a0531571b2fcedef01ae8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioGetRadioState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Gets the current radio state </p>

</div>
</div>
<a class="anchor" id="ga340fcd276a307d3ae5e464d89df2f369"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioGetRFICFlags </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get flags from SX1272 </p><dl class="section return"><dt>Returns</dt><dd>flags </dd></dl>

</div>
</div>
<a class="anchor" id="gaec325e472163bf4bca0a326fe1e80f3a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioGetRSSI </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads RSSI from the SX1272. </p><dl class="section return"><dt>Returns</dt><dd>RSSI value (RSSI = -125+value)</dd></dl>
<p>U8 ReadRSSIValue()</p>
<p>Parameters: none</p>
<p>Description: Returns RSSI value.</p>
<p>Returns: RSSI value </p>

</div>
</div>
<a class="anchor" id="ga8b41bb4532d675a925bfcc0633278442"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioGetSNR </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Read SNR value from SX1272. </p><dl class="section return"><dt>Returns</dt><dd>SNR value </dd></dl>

</div>
</div>
<a class="anchor" id="ga6ecb4d5fc99e0aa4759df45f256dd21e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">S8 RadioGetTemperature </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Gets temperature in 2's compliment </p>

</div>
</div>
<a class="anchor" id="gad3dd1eaefbdde2874179895a4f4200f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioInitializeAPI </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initialize the RadioAPI. On return, the radio hardware will be configured and will be asleep. </p>

</div>
</div>
<a class="anchor" id="ga894d6125070db6c02601f48dce6b580d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioIsIdle </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is radio in an idle state, ready for RX or TX </p><dl class="section return"><dt>Returns</dt><dd>1 if the radio is idle, 0 if not. </dd></dl>

</div>
</div>
<a class="anchor" id="gae8f24d92ca38d72307c5f857af9fee6d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioReceivePacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___radio.html#gaceb4f15c2a65dde634322d4ab88c88ff">tReceiveModes</a>&#160;</td>
          <td class="paramname"><em>rxMode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Put radio in receive mode and start listening for an incoming packet </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rxMode</td><td>CAD/NoCAD, Single/Continuous </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gada51b7416b36ed55512105efb34d1bea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioSendPacket </td>
          <td>(</td>
          <td class="paramtype">U8&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">U8 *&#160;</td>
          <td class="paramname"><em>txBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___radio.html#ga945845313759fe0d15f35cbfd8515035">tBlockingModes</a>&#160;</td>
          <td class="paramname"><em>blockMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send a packet using the radio's built in packet engine.</p>
<p>MethodResult SendPacket(U8 length, U8 *SDU)</p>
<p>Parameters: destAddress, unsigned long, destination for this message packetType, PacketTypes, type of packet (uniack, uninoack, multi) length, unsigned char, length of SDU SDU, unsigned char *, service data unit to send</p>
<p>Description: Calling this function will configure the radio to transmit a packet, load the FIFO and packet header information, and start the packet transmission. Once the process is started, this function will return. When the packet has been successfully sent, RadioNotifyTxPacketComplete() will be called. If an error occurs sending te packet, RadioNotifyTxPacketError() will be called. If the packet type is uniack, the transmit complete notification happens after an acknoweldgement is received. If the packet type is not uniack, the transmit complete notification will happen once the transmission finishes.</p>
<p>Returns: kSuccess </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">txBuffer</td><td>Length of packet SDU (service data unit or payload) </td></tr>
    <tr><td class="paramname">blockMode</td><td>Pointer to buffer containing packet SDU (service data unit or payload) 1=make this a blocking call, 0=use interrupts instead </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4433194a2153ba9e045a08309a979f00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RadioSetChannel </td>
          <td>(</td>
          <td class="paramtype">U8&#160;</td>
          <td class="paramname"><em>channel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the radio channel.</p>
<p>U8 SetChannel(U8 Channel) Parameters: channel, U8, Valid channels are 0-25</p>
<p>Description; Sets the radio channel. Valid channels are 0-25, channel 0=902.5MHz, channel spacing=1MHz</p>
<p>Returns: kSuccess if everything is OK kInvalidValueError if the channel number is invalid </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>Desired channel. Valid channels are 0-24 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga853709970105be35c22d8ef04abce732"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RadioSetEncryptionKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="union_u_u256.html">UU256</a>&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the encryption key </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>ES-256 Key </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae0a55b913ef5ba1c8cadadbc38d3a186"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RadioSetMACAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="union_u_u32.html">UU32</a>&#160;</td>
          <td class="paramname"><em>macAddress</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Places the radio in ready idle mode. Everything is on except for RX and TX circuitry. U8 IdleMode();</p>
<p>/*!</p>
<p>Set the local MAC address</p>
<p>MethodResult SetMACAddress(UU32 macAddress)</p>
<p>Parameters: macAddress,<a class="el" href="union_u_u32.html">UU32</a>,local MAC Address</p>
<p>Description: Set the RX check header to the mac address and enable checking on all 4 header bytes. This will filter incoming messages to out address or 0xFFFFFFFF which is the broadcast address </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">macAddress</td><td>32 bit MAC address </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga00b6c7fb9acc725209a04400aa395fa5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RadioSetPreambleCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="union_u_u16.html">UU16</a>&#160;</td>
          <td class="paramname"><em>preambleCount</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the preamble count for subsequent packet transmissions </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">preambleCount</td><td>Count in bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab65f9e7c01642c4deeb8e839381c956d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">U8 RadioSetReceiveTimeout </td>
          <td>(</td>
          <td class="paramtype">U16&#160;</td>
          <td class="paramname"><em>to</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the maximum time to wait for a packet before bailing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">to</td><td>timeout in mSec </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6fab90d6a25b4a983841e4f7e824b611"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RadioSetTxPower </td>
          <td>(</td>
          <td class="paramtype">U8&#160;</td>
          <td class="paramname"><em>power</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the radio transmit power. If the RFIC is a 1231H, the PA Boost will automatically be used for the high power setting.</p>
<p>U8 SetTxPower(U8 power)</p>
<p>Parameters: power,U8,Power setting. Varies based on chip. Masked with 0x07 prior to writing.</p>
<p>Description: Set the transmitter output power. Does not put the chip in TX mode, it just sets the TX power.</p>
<p>power Power ===== ========== 0-15 invalid 16 +5 dBm 17 +6 dBm 18 +7 dBm 19 +8 dBm 20 +9 dBm 21 +10 dBm 22 +11 dBm 23 +12 dBm 24 +13 dBm 25 +14 dBm 26 +15 dBm 27 +16 dBm 28 +17 dBm 29 +18 dBm 30 +19 dBm 31 +20 dBm</p>
<p>Returns: Always returns kSuccess </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">power</td><td>Desired power level. Bits 6,7,8 turn on PA0,PA1,PA2 respectively. Bits 0-4 set power level in 1dB increments. See 3.4.6 in SX1231 datasheet </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga848e924057f1ddb37b07c9daafea328a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RadioSleepMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Put radio in sleep mode </p>

</div>
</div>
<a class="anchor" id="ga53680096cfcc3128f0bc9b9ddb89c98a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RadioStandbyMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the radio to standby mode. This is the lowest power mode of the radio.</p>
<p>U8 StandbyMode()</p>
<p>Parameters: none</p>
<p>Description: Puts the radio into the IDLE_STBY state, the lowest power state where the radio can still generate interrupts. Interrupts are enabled on exit.</p>
<p>Results: Always returns kSuccess </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Sep 20 2014 15:04:07 for OpenRF by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>
